[INFO] fetching crate stm32g0xx-hal 0.0.8...
[INFO] checking stm32g0xx-hal-0.0.8 against master#cfbc6d4cf1acbac5c025acf8ed68929caa551df3 for pr-75494-beta
[INFO] extracting crate stm32g0xx-hal 0.0.8 into /workspace/builds/worker-4/source
[INFO] validating manifest of crates.io crate stm32g0xx-hal 0.0.8 on toolchain cfbc6d4cf1acbac5c025acf8ed68929caa551df3
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-4/source/.cargo/config
[INFO] started tweaking crates.io crate stm32g0xx-hal 0.0.8
[INFO] finished tweaking crates.io crate stm32g0xx-hal 0.0.8
[INFO] tweaked toml for crates.io crate stm32g0xx-hal 0.0.8 written to /workspace/builds/worker-4/source/Cargo.toml
[INFO] crate crates.io crate stm32g0xx-hal 0.0.8 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rtfm-core v0.3.0
[INFO] [stderr]   Downloaded cortex-m-rtfm v0.5.1
[INFO] [stderr]   Downloaded rtfm-syntax v0.4.0
[INFO] [stderr]   Downloaded cortex-m-rtfm-macros v0.5.0
[INFO] [stderr]   Downloaded embedded-graphics v0.5.2
[INFO] [stderr]   Downloaded embedded-sdmmc v0.2.1
[INFO] [stderr]   Downloaded stm32g0 v0.10.0
[INFO] [stderr]   Downloaded st7735-lcd v0.6.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ffccd0ca2c694ddb11f85d416868eafbcd79a62c6baab1debf6382f86fa45ca1
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "ffccd0ca2c694ddb11f85d416868eafbcd79a62c6baab1debf6382f86fa45ca1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ffccd0ca2c694ddb11f85d416868eafbcd79a62c6baab1debf6382f86fa45ca1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ffccd0ca2c694ddb11f85d416868eafbcd79a62c6baab1debf6382f86fa45ca1", kill_on_drop: false }`
[INFO] [stdout] ffccd0ca2c694ddb11f85d416868eafbcd79a62c6baab1debf6382f86fa45ca1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ce2955f7b6a89c1cd89da07d28e0b5e51d5fa7e50ed2fef9c88b1cafdd1cec5b
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "ce2955f7b6a89c1cd89da07d28e0b5e51d5fa7e50ed2fef9c88b1cafdd1cec5b", kill_on_drop: false }`
[INFO] [stderr]    Compiling typenum v1.11.2
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling cortex-m v0.6.2
[INFO] [stderr]    Compiling proc-macro2 v1.0.8
[INFO] [stderr]     Checking vcell v0.1.2
[INFO] [stderr]    Compiling syn v1.0.14
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling stm32g0 v0.10.0
[INFO] [stderr]    Compiling cortex-m-semihosting v0.3.5
[INFO] [stderr]    Compiling num-derive v0.2.5
[INFO] [stderr]    Compiling cortex-m-rt v0.6.12
[INFO] [stderr]    Compiling heapless v0.5.3
[INFO] [stderr]    Compiling cortex-m-rtfm v0.5.1
[INFO] [stderr]     Checking rtfm-core v0.3.0
[INFO] [stderr]     Checking embedded-graphics v0.5.2
[INFO] [stderr]     Checking volatile-register v0.2.0
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]     Checking hash32 v0.1.1
[INFO] [stderr]     Checking embedded-sdmmc v0.2.1
[INFO] [stderr]    Compiling indexmap v1.3.2
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling bare-metal v0.2.5
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking generic-array v0.12.3
[INFO] [stderr]     Checking generic-array v0.13.2
[INFO] [stderr]     Checking as-slice v0.1.2
[INFO] [stderr]     Checking aligned v0.3.2
[INFO] [stderr]     Checking stm32g0xx-hal v0.0.8 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking panic-semihosting v0.5.3
[INFO] [stdout] error: This crate requires one of the following features enabled: stm32g07x, stm32g030, stm32g031, stm32g041, stm32g081
[INFO] [stdout]   --> src/lib.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / compile_error!(
[INFO] [stdout] 12 | |     "This crate requires one of the following features enabled: stm32g07x, stm32g030, stm32g031, stm32g041, stm32g081"
[INFO] [stdout] 13 | | );
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::stm32`
[INFO] [stdout]  --> src/analog/adc.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::stm32::ADC;
[INFO] [stdout]   |            ^^^^^ maybe a missing crate `stm32`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::stm32`
[INFO] [stdout]  --> src/crc.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::stm32::CRC;
[INFO] [stdout]   |            ^^^^^ maybe a missing crate `stm32`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::stm32`
[INFO] [stdout]  --> src/delay.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::stm32::*;
[INFO] [stdout]   |            ^^^^^ maybe a missing crate `stm32`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::stm32`
[INFO] [stdout]  --> src/dma.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::stm32::DMA;
[INFO] [stdout]   |            ^^^^^ maybe a missing crate `stm32`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::stm32`
[INFO] [stdout]  --> src/exti.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::stm32::EXTI;
[INFO] [stdout]   |            ^^^^^ maybe a missing crate `stm32`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::stm32`
[INFO] [stdout]  --> src/i2c.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::stm32::{I2C1, I2C2};
[INFO] [stdout]   |            ^^^^^ maybe a missing crate `stm32`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::stm32`
[INFO] [stdout]  --> src/rcc/mod.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::stm32::{FLASH, PWR, RCC};
[INFO] [stdout]   |            ^^^^^ maybe a missing crate `stm32`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::stm32`
[INFO] [stdout]  --> src/rcc/clockout.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::stm32::RCC;
[INFO] [stdout]   |            ^^^^^ maybe a missing crate `stm32`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::stm32`
[INFO] [stdout]  --> src/rng.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::stm32::RNG;
[INFO] [stdout]   |            ^^^^^ maybe a missing crate `stm32`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::stm32`
[INFO] [stdout]  --> src/rtc.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::stm32::RTC;
[INFO] [stdout]   |            ^^^^^ maybe a missing crate `stm32`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::stm32`
[INFO] [stdout]   --> src/serial.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::stm32::*;
[INFO] [stdout]    |            ^^^^^ maybe a missing crate `stm32`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::stm32`
[INFO] [stdout]  --> src/spi.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::stm32::{SPI1, SPI2};
[INFO] [stdout]   |            ^^^^^ maybe a missing crate `stm32`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::stm32`
[INFO] [stdout]  --> src/timer/mod.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::stm32::*;
[INFO] [stdout]   |            ^^^^^ maybe a missing crate `stm32`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::stm32`
[INFO] [stdout]  --> src/timer/opm.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::stm32::*;
[INFO] [stdout]   |            ^^^^^ maybe a missing crate `stm32`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::stm32`
[INFO] [stdout]  --> src/timer/pwm.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::stm32::*;
[INFO] [stdout]   |            ^^^^^ maybe a missing crate `stm32`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::stm32`
[INFO] [stdout]  --> src/timer/qei.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::stm32::{TIM1, TIM2, TIM3};
[INFO] [stdout]   |            ^^^^^ maybe a missing crate `stm32`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::stm32`
[INFO] [stdout]  --> src/timer/stopwatch.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::stm32::*;
[INFO] [stdout]   |            ^^^^^ maybe a missing crate `stm32`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::stm32`
[INFO] [stdout]  --> src/timer/pins.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::stm32::*;
[INFO] [stdout]   |            ^^^^^ maybe a missing crate `stm32`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::stm32`
[INFO] [stdout]  --> src/watchdog.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::stm32::{IWDG, WWDG};
[INFO] [stdout]   |            ^^^^^ maybe a missing crate `stm32`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::stm32`
[INFO] [stdout]    --> src/gpio.rs:82:24
[INFO] [stdout]     |
[INFO] [stdout] 82  |               use crate::stm32::{EXTI, $GPIOX};
[INFO] [stdout]     |                          ^^^^^ maybe a missing crate `stm32`?
[INFO] [stdout] ...
[INFO] [stdout] 467 | / gpio!(GPIOA, gpioa, iopaen, PA, 0, [
[INFO] [stdout] 468 | |     PA0: (pa0, 0),
[INFO] [stdout] 469 | |     PA1: (pa1, 1),
[INFO] [stdout] 470 | |     PA2: (pa2, 2),
[INFO] [stdout] ...   |
[INFO] [stdout] 483 | |     PA15: (pa15, 15),
[INFO] [stdout] 484 | | ]);
[INFO] [stdout]     | |___- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::stm32`
[INFO] [stdout]    --> src/gpio.rs:82:24
[INFO] [stdout]     |
[INFO] [stdout] 82  |               use crate::stm32::{EXTI, $GPIOX};
[INFO] [stdout]     |                          ^^^^^ maybe a missing crate `stm32`?
[INFO] [stdout] ...
[INFO] [stdout] 486 | / gpio!(GPIOB, gpiob, iopben, PB, 1, [
[INFO] [stdout] 487 | |     PB0: (pb0, 0),
[INFO] [stdout] 488 | |     PB1: (pb1, 1),
[INFO] [stdout] 489 | |     PB2: (pb2, 2),
[INFO] [stdout] ...   |
[INFO] [stdout] 502 | |     PB15: (pb15, 15),
[INFO] [stdout] 503 | | ]);
[INFO] [stdout]     | |___- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::stm32`
[INFO] [stdout]    --> src/gpio.rs:82:24
[INFO] [stdout]     |
[INFO] [stdout] 82  |               use crate::stm32::{EXTI, $GPIOX};
[INFO] [stdout]     |                          ^^^^^ maybe a missing crate `stm32`?
[INFO] [stdout] ...
[INFO] [stdout] 505 | / gpio!(GPIOC, gpioc, iopcen, PC, 2, [
[INFO] [stdout] 506 | |     PC0: (pc0, 0),
[INFO] [stdout] 507 | |     PC1: (pc1, 1),
[INFO] [stdout] 508 | |     PC2: (pc2, 2),
[INFO] [stdout] ...   |
[INFO] [stdout] 521 | |     PC15: (pc15, 15),
[INFO] [stdout] 522 | | ]);
[INFO] [stdout]     | |___- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::stm32`
[INFO] [stdout]    --> src/gpio.rs:82:24
[INFO] [stdout]     |
[INFO] [stdout] 82  |               use crate::stm32::{EXTI, $GPIOX};
[INFO] [stdout]     |                          ^^^^^ maybe a missing crate `stm32`?
[INFO] [stdout] ...
[INFO] [stdout] 524 | / gpio!(GPIOD, gpiod, iopden, PD, 3, [
[INFO] [stdout] 525 | |     PD0: (pd0, 0),
[INFO] [stdout] 526 | |     PD1: (pd1, 1),
[INFO] [stdout] 527 | |     PD2: (pd2, 2),
[INFO] [stdout] ...   |
[INFO] [stdout] 540 | |     PD15: (pd15, 15),
[INFO] [stdout] 541 | | ]);
[INFO] [stdout]     | |___- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::stm32`
[INFO] [stdout]    --> src/gpio.rs:82:24
[INFO] [stdout]     |
[INFO] [stdout] 82  |               use crate::stm32::{EXTI, $GPIOX};
[INFO] [stdout]     |                          ^^^^^ maybe a missing crate `stm32`?
[INFO] [stdout] ...
[INFO] [stdout] 543 | / gpio!(GPIOF, gpiof, iopfen, PF, 5, [
[INFO] [stdout] 544 | |     PF0: (pf0, 0),
[INFO] [stdout] 545 | |     PF1: (pf1, 1),
[INFO] [stdout] 546 | |     PF2: (pf2, 2),
[INFO] [stdout] ...   |
[INFO] [stdout] 559 | |     PF15: (pf15, 15),
[INFO] [stdout] 560 | | ]);
[INFO] [stdout]     | |___- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `LPUART`
[INFO] [stdout]    --> src/serial.rs:502:5
[INFO] [stdout]     |
[INFO] [stdout] 502 |     LPUART, lpuart, apbenr1, lpuart1en, 256,
[INFO] [stdout]     |     ^^^^^^ use of undeclared type or module `LPUART`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `USART1`
[INFO] [stdout]    --> src/serial.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout]     |     ^^^^^^ use of undeclared type or module `USART1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `USART2`
[INFO] [stdout]    --> src/serial.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     USART2, usart2, apbenr1, usart2en, 1,
[INFO] [stdout]     |     ^^^^^^ use of undeclared type or module `USART2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `TIM1`
[INFO] [stdout]    --> src/timer/pwm.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     TIM1:  (Channel1, cc1e, ccmr1_output, oc1pe, oc1m, ccr1, moe),
[INFO] [stdout]     |     ^^^^ use of undeclared type or module `TIM1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `TIM1`
[INFO] [stdout]    --> src/timer/pwm.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     TIM1:  (Channel2, cc2e, ccmr1_output, oc2pe, oc2m, ccr2, moe),
[INFO] [stdout]     |     ^^^^ use of undeclared type or module `TIM1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `TIM1`
[INFO] [stdout]    --> src/timer/pwm.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     TIM1:  (Channel3, cc3e, ccmr2_output, oc3pe, oc3m, ccr3, moe),
[INFO] [stdout]     |     ^^^^ use of undeclared type or module `TIM1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `TIM1`
[INFO] [stdout]    --> src/timer/pwm.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 |     TIM1:  (Channel4, cc4e, ccmr2_output, oc4pe, oc4m, ccr4, moe),
[INFO] [stdout]     |     ^^^^ use of undeclared type or module `TIM1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `TIM14`
[INFO] [stdout]    --> src/timer/pwm.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 |     TIM14: (Channel1, cc1e, ccmr1_output, oc1pe, oc1m, ccr1),
[INFO] [stdout]     |     ^^^^^ use of undeclared type or module `TIM14`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `TIM16`
[INFO] [stdout]    --> src/timer/pwm.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |     TIM16: (Channel1, cc1e, ccmr1_output, oc1pe, oc1m, ccr1, moe),
[INFO] [stdout]     |     ^^^^^ use of undeclared type or module `TIM16`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `TIM17`
[INFO] [stdout]    --> src/timer/pwm.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 |     TIM17: (Channel1, cc1e, ccmr1_output, oc1pe, oc1m, ccr1, moe),
[INFO] [stdout]     |     ^^^^^ use of undeclared type or module `TIM17`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `TIM2`
[INFO] [stdout]    --> src/timer/pwm.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 162 |     TIM2: (Channel1, cc1e, ccmr1_output, oc1pe, oc1m, ccr1, ccr1_l, ccr1_h),
[INFO] [stdout]     |     ^^^^ use of undeclared type or module `TIM2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `TIM2`
[INFO] [stdout]    --> src/timer/pwm.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 163 |     TIM2: (Channel2, cc2e, ccmr1_output, oc2pe, oc2m, ccr2, ccr2_l, ccr2_h),
[INFO] [stdout]     |     ^^^^ use of undeclared type or module `TIM2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `TIM2`
[INFO] [stdout]    --> src/timer/pwm.rs:164:5
[INFO] [stdout]     |
[INFO] [stdout] 164 |     TIM2: (Channel3, cc3e, ccmr2_output, oc3pe, oc3m, ccr3, ccr3_l, ccr3_h),
[INFO] [stdout]     |     ^^^^ use of undeclared type or module `TIM2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `TIM2`
[INFO] [stdout]    --> src/timer/pwm.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 165 |     TIM2: (Channel4, cc4e, ccmr2_output, oc4pe, oc4m, ccr4, ccr4_l, ccr4_h),
[INFO] [stdout]     |     ^^^^ use of undeclared type or module `TIM2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `TIM3`
[INFO] [stdout]    --> src/timer/pwm.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 166 |     TIM3: (Channel1, cc1e, ccmr1_output, oc1pe, oc1m, ccr1, ccr1_l, ccr1_h),
[INFO] [stdout]     |     ^^^^ use of undeclared type or module `TIM3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `TIM3`
[INFO] [stdout]    --> src/timer/pwm.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     TIM3: (Channel2, cc2e, ccmr1_output, oc2pe, oc2m, ccr2, ccr2_l, ccr2_h),
[INFO] [stdout]     |     ^^^^ use of undeclared type or module `TIM3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `TIM3`
[INFO] [stdout]    --> src/timer/pwm.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 |     TIM3: (Channel3, cc3e, ccmr2_output, oc3pe, oc3m, ccr3, ccr3_l, ccr3_h),
[INFO] [stdout]     |     ^^^^ use of undeclared type or module `TIM3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `TIM3`
[INFO] [stdout]    --> src/timer/pwm.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     TIM3: (Channel4, cc4e, ccmr2_output, oc4pe, oc4m, ccr4, ccr4_l, ccr4_h),
[INFO] [stdout]     |     ^^^^ use of undeclared type or module `TIM3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM1` in this scope
[INFO] [stdout]    --> src/delay.rs:177:5
[INFO] [stdout]     |
[INFO] [stdout] 177 |     TIM1: (tim1, tim1en, tim1rst, apbenr2, apbrstr2),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM2` in this scope
[INFO] [stdout]    --> src/delay.rs:178:5
[INFO] [stdout]     |
[INFO] [stdout] 178 |     TIM2: (tim2, tim2en, tim2rst, apbenr1, apbrstr1),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM3` in this scope
[INFO] [stdout]    --> src/delay.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     TIM3: (tim3, tim3en, tim3rst, apbenr1, apbrstr1),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM14` in this scope
[INFO] [stdout]    --> src/delay.rs:180:5
[INFO] [stdout]     |
[INFO] [stdout] 180 |     TIM14: (tim14, tim14en, tim14rst, apbenr2, apbrstr2),
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM16` in this scope
[INFO] [stdout]    --> src/delay.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 |     TIM16: (tim16, tim16en, tim16rst, apbenr2, apbrstr2),
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM17` in this scope
[INFO] [stdout]    --> src/delay.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     TIM17: (tim17, tim17en, tim17rst, apbenr2, apbrstr2),
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `TRIGGER_MAX` in this scope
[INFO] [stdout]   --> src/exti.rs:86:25
[INFO] [stdout]    |
[INFO] [stdout] 86 |         assert!(line <= TRIGGER_MAX);
[INFO] [stdout]    |                         ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `TRIGGER_MAX` in this scope
[INFO] [stdout]    --> src/exti.rs:153:19
[INFO] [stdout]     |
[INFO] [stdout] 153 |         if line > TRIGGER_MAX {
[INFO] [stdout]     |                   ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `TRIGGER_MAX` in this scope
[INFO] [stdout]    --> src/exti.rs:168:20
[INFO] [stdout]     |
[INFO] [stdout] 168 |         if line <= TRIGGER_MAX {
[INFO] [stdout]     |                    ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `LPUART` in this scope
[INFO] [stdout]    --> src/serial.rs:502:5
[INFO] [stdout]     |
[INFO] [stdout] 502 |     LPUART, lpuart, apbenr1, lpuart1en, 256,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART1` in this scope
[INFO] [stdout]    --> src/serial.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART1`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 202 |             impl TxPin<crate::exti::Event> for $PTX {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART1` in this scope
[INFO] [stdout]    --> src/serial.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART1`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 210 |             impl RxPin<crate::exti::Event> for $PRX {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART1` in this scope
[INFO] [stdout]    --> src/serial.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART1`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 217 |         impl SerialExt<crate::exti::Event> for $USARTX {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART1` in this scope
[INFO] [stdout]    --> src/serial.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART1`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 217 |         impl SerialExt<$USARTX> for crate::exti::Event {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART1` in this scope
[INFO] [stdout]    --> src/serial.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART1`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 225 |                 TX: TxPin<crate::exti::Event>,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART1` in this scope
[INFO] [stdout]    --> src/serial.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART1`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 226 |                 RX: RxPin<crate::exti::Event>,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART1` in this scope
[INFO] [stdout]    --> src/serial.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART1`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 223 |                 rcc: &mut Rcc) -> Result<Serial<crate::exti::Event>, InvalidConfig>
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART1` in this scope
[INFO] [stdout]    --> src/serial.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART1`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 232 |         impl Serial<crate::exti::Event> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART1` in this scope
[INFO] [stdout]    --> src/serial.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART1`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 TX: TxPin<crate::exti::Event>,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART1` in this scope
[INFO] [stdout]    --> src/serial.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART1`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 242 |                 RX: RxPin<crate::exti::Event>,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART1` in this scope
[INFO] [stdout]    --> src/serial.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART1`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 234 |                 usart: crate::exti::Event,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART1` in this scope
[INFO] [stdout]    --> src/serial.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART1`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 314 |             pub fn split(self) -> (Tx<crate::exti::Event>, Rx<$USARTX>) {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART1` in this scope
[INFO] [stdout]    --> src/serial.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART1`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 314 |             pub fn split(self) -> (Tx<$USARTX>, Rx<crate::exti::Event>) {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART1` in this scope
[INFO] [stdout]    --> src/serial.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART1`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 319 |         impl Tx<crate::exti::Event> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART1` in this scope
[INFO] [stdout]    --> src/serial.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART1`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 320 |             pub fn with_dma<CHANNEL>(self, channel: CHANNEL) -> DmaTx<crate::exti::Event, CHANNEL>
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART1` in this scope
[INFO] [stdout]    --> src/serial.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART1`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 348 |         impl Rx<crate::exti::Event> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART1` in this scope
[INFO] [stdout]    --> src/serial.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART1`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 349 |             pub fn with_dma<CHANNEL>(self, channel: CHANNEL) -> DmaRx<crate::exti::Event, CHANNEL>
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART1` in this scope
[INFO] [stdout]    --> src/serial.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART1`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 377 |         impl<CHANNEL, B> ReadDma<B> for DmaRx<crate::exti::Event, CHANNEL>
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART1` in this scope
[INFO] [stdout]    --> src/serial.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART1`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 403 |         impl<CHANNEL, B> WriteDma<B> for DmaTx<crate::exti::Event, CHANNEL>
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART1` in this scope
[INFO] [stdout]    --> src/serial.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART1`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 428 |         impl hal::serial::Read<u8> for Rx<crate::exti::Event> {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART1` in this scope
[INFO] [stdout]    --> src/serial.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART1`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 456 |         impl hal::serial::Read<u8> for Serial<crate::exti::Event> {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART1` in this scope
[INFO] [stdout]    --> src/serial.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART1`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 464 |         impl hal::serial::Write<u8> for Tx<crate::exti::Event> {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART1` in this scope
[INFO] [stdout]    --> src/serial.rs:516:5
[INFO] [stdout]     |
[INFO] [stdout] 516 |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART1`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 487 |         impl hal::serial::Write<u8> for Serial<crate::exti::Event> {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART2` in this scope
[INFO] [stdout]    --> src/serial.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     USART2, usart2, apbenr1, usart2en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART2`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 202 |             impl TxPin<crate::exti::Event> for $PTX {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART2` in this scope
[INFO] [stdout]    --> src/serial.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     USART2, usart2, apbenr1, usart2en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART2`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 210 |             impl RxPin<crate::exti::Event> for $PRX {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART2` in this scope
[INFO] [stdout]    --> src/serial.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     USART2, usart2, apbenr1, usart2en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART2`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 217 |         impl SerialExt<crate::exti::Event> for $USARTX {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART2` in this scope
[INFO] [stdout]    --> src/serial.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     USART2, usart2, apbenr1, usart2en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART2`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 217 |         impl SerialExt<$USARTX> for crate::exti::Event {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART2` in this scope
[INFO] [stdout]    --> src/serial.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     USART2, usart2, apbenr1, usart2en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART2`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 225 |                 TX: TxPin<crate::exti::Event>,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART2` in this scope
[INFO] [stdout]    --> src/serial.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     USART2, usart2, apbenr1, usart2en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART2`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 226 |                 RX: RxPin<crate::exti::Event>,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART2` in this scope
[INFO] [stdout]    --> src/serial.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     USART2, usart2, apbenr1, usart2en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART2`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 223 |                 rcc: &mut Rcc) -> Result<Serial<crate::exti::Event>, InvalidConfig>
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART2` in this scope
[INFO] [stdout]    --> src/serial.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     USART2, usart2, apbenr1, usart2en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART2`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 232 |         impl Serial<crate::exti::Event> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART2` in this scope
[INFO] [stdout]    --> src/serial.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     USART2, usart2, apbenr1, usart2en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART2`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 TX: TxPin<crate::exti::Event>,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART2` in this scope
[INFO] [stdout]    --> src/serial.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     USART2, usart2, apbenr1, usart2en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART2`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 242 |                 RX: RxPin<crate::exti::Event>,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART2` in this scope
[INFO] [stdout]    --> src/serial.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     USART2, usart2, apbenr1, usart2en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART2`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 234 |                 usart: crate::exti::Event,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART2` in this scope
[INFO] [stdout]    --> src/serial.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     USART2, usart2, apbenr1, usart2en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART2`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 314 |             pub fn split(self) -> (Tx<crate::exti::Event>, Rx<$USARTX>) {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART2` in this scope
[INFO] [stdout]    --> src/serial.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     USART2, usart2, apbenr1, usart2en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART2`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 314 |             pub fn split(self) -> (Tx<$USARTX>, Rx<crate::exti::Event>) {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART2` in this scope
[INFO] [stdout]    --> src/serial.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     USART2, usart2, apbenr1, usart2en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART2`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 319 |         impl Tx<crate::exti::Event> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART2` in this scope
[INFO] [stdout]    --> src/serial.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     USART2, usart2, apbenr1, usart2en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART2`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 320 |             pub fn with_dma<CHANNEL>(self, channel: CHANNEL) -> DmaTx<crate::exti::Event, CHANNEL>
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART2` in this scope
[INFO] [stdout]    --> src/serial.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     USART2, usart2, apbenr1, usart2en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART2`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 348 |         impl Rx<crate::exti::Event> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART2` in this scope
[INFO] [stdout]    --> src/serial.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     USART2, usart2, apbenr1, usart2en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART2`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 349 |             pub fn with_dma<CHANNEL>(self, channel: CHANNEL) -> DmaRx<crate::exti::Event, CHANNEL>
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART2` in this scope
[INFO] [stdout]    --> src/serial.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     USART2, usart2, apbenr1, usart2en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART2`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 377 |         impl<CHANNEL, B> ReadDma<B> for DmaRx<crate::exti::Event, CHANNEL>
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART2` in this scope
[INFO] [stdout]    --> src/serial.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     USART2, usart2, apbenr1, usart2en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART2`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 403 |         impl<CHANNEL, B> WriteDma<B> for DmaTx<crate::exti::Event, CHANNEL>
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART2` in this scope
[INFO] [stdout]    --> src/serial.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     USART2, usart2, apbenr1, usart2en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART2`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 428 |         impl hal::serial::Read<u8> for Rx<crate::exti::Event> {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART2` in this scope
[INFO] [stdout]    --> src/serial.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     USART2, usart2, apbenr1, usart2en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART2`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 456 |         impl hal::serial::Read<u8> for Serial<crate::exti::Event> {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART2` in this scope
[INFO] [stdout]    --> src/serial.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     USART2, usart2, apbenr1, usart2en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART2`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 464 |         impl hal::serial::Write<u8> for Tx<crate::exti::Event> {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `USART2` in this scope
[INFO] [stdout]    --> src/serial.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     USART2, usart2, apbenr1, usart2en, 1,
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::exti::Event::USART2`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 487 |         impl hal::serial::Write<u8> for Serial<crate::exti::Event> {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM1` in this scope
[INFO] [stdout]    --> src/timer/opm.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     TIM1: (Channel1, cc1e, ccmr1_output, oc1m, oc1fe, ccr1, arr),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM1` in this scope
[INFO] [stdout]    --> src/timer/opm.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     TIM1: (Channel2, cc2e, ccmr1_output, oc2m, oc2fe, ccr2, arr),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM1` in this scope
[INFO] [stdout]    --> src/timer/opm.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     TIM1: (Channel3, cc3e, ccmr2_output, oc3m, oc3fe, ccr3, arr),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM1` in this scope
[INFO] [stdout]    --> src/timer/opm.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     TIM1: (Channel4, cc4e, ccmr2_output, oc4m, oc4fe, ccr4, arr),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM2` in this scope
[INFO] [stdout]    --> src/timer/opm.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     TIM2: (Channel1, cc1e, ccmr1_output, oc1m, oc1fe, ccr1, arr_l, arr_h),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM2` in this scope
[INFO] [stdout]    --> src/timer/opm.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     TIM2: (Channel2, cc2e, ccmr1_output, oc2m, oc2fe, ccr2, arr_l, arr_h),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM2` in this scope
[INFO] [stdout]    --> src/timer/opm.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     TIM2: (Channel3, cc3e, ccmr2_output, oc3m, oc3fe, ccr3, arr_l, arr_h),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM2` in this scope
[INFO] [stdout]    --> src/timer/opm.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     TIM2: (Channel4, cc4e, ccmr2_output, oc4m, oc4fe, ccr4, arr_l, arr_h),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM3` in this scope
[INFO] [stdout]    --> src/timer/opm.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     TIM3: (Channel1, cc1e, ccmr1_output, oc1m, oc1fe, ccr1, arr_l, arr_h),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM3` in this scope
[INFO] [stdout]    --> src/timer/opm.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     TIM3: (Channel2, cc2e, ccmr1_output, oc2m, oc2fe, ccr2, arr_l, arr_h),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM3` in this scope
[INFO] [stdout]    --> src/timer/opm.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     TIM3: (Channel3, cc3e, ccmr2_output, oc3m, oc3fe, ccr3, arr_l, arr_h),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM3` in this scope
[INFO] [stdout]    --> src/timer/opm.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     TIM3: (Channel4, cc4e, ccmr2_output, oc4m, oc4fe, ccr4, arr_l, arr_h),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM14` in this scope
[INFO] [stdout]    --> src/timer/opm.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     TIM14: (Channel1, cc1e, ccmr1_output, oc1m, oc1fe, ccr1, arr),
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM16` in this scope
[INFO] [stdout]    --> src/timer/opm.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     TIM16: (Channel1, cc1e, ccmr1_output, oc1m, oc1fe, ccr1, arr),
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM17` in this scope
[INFO] [stdout]    --> src/timer/opm.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 134 |     TIM17: (Channel1, cc1e, ccmr1_output, oc1m, oc1fe, ccr1, arr),
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM1` in this scope
[INFO] [stdout]    --> src/timer/opm.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     TIM1: (apbenr2, apbrstr2, tim1, tim1en, tim1rst),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM2` in this scope
[INFO] [stdout]    --> src/timer/opm.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 139 |     TIM2: (apbenr1, apbrstr1, tim2, tim2en, tim2rst),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM3` in this scope
[INFO] [stdout]    --> src/timer/opm.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 140 |     TIM3: (apbenr1, apbrstr1, tim3, tim3en, tim3rst),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM14` in this scope
[INFO] [stdout]    --> src/timer/opm.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 |     TIM14: (apbenr2, apbrstr2, tim14, tim14en, tim14rst),
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM16` in this scope
[INFO] [stdout]    --> src/timer/opm.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     TIM16: (apbenr2, apbrstr2, tim16, tim16en, tim16rst),
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM17` in this scope
[INFO] [stdout]    --> src/timer/opm.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 143 |     TIM17: (apbenr2, apbrstr2, tim17, tim17en, tim17rst),
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM1` in this scope
[INFO] [stdout]    --> src/timer/pwm.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     TIM1:  (Channel1, cc1e, ccmr1_output, oc1pe, oc1m, ccr1, moe),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM1` in this scope
[INFO] [stdout]    --> src/timer/pwm.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     TIM1:  (Channel2, cc2e, ccmr1_output, oc2pe, oc2m, ccr2, moe),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM1` in this scope
[INFO] [stdout]    --> src/timer/pwm.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     TIM1:  (Channel3, cc3e, ccmr2_output, oc3pe, oc3m, ccr3, moe),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM1` in this scope
[INFO] [stdout]    --> src/timer/pwm.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 |     TIM1:  (Channel4, cc4e, ccmr2_output, oc4pe, oc4m, ccr4, moe),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM14` in this scope
[INFO] [stdout]    --> src/timer/pwm.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 |     TIM14: (Channel1, cc1e, ccmr1_output, oc1pe, oc1m, ccr1),
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM16` in this scope
[INFO] [stdout]    --> src/timer/pwm.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |     TIM16: (Channel1, cc1e, ccmr1_output, oc1pe, oc1m, ccr1, moe),
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM17` in this scope
[INFO] [stdout]    --> src/timer/pwm.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 |     TIM17: (Channel1, cc1e, ccmr1_output, oc1pe, oc1m, ccr1, moe),
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM2` in this scope
[INFO] [stdout]    --> src/timer/pwm.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 162 |     TIM2: (Channel1, cc1e, ccmr1_output, oc1pe, oc1m, ccr1, ccr1_l, ccr1_h),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM2` in this scope
[INFO] [stdout]    --> src/timer/pwm.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 163 |     TIM2: (Channel2, cc2e, ccmr1_output, oc2pe, oc2m, ccr2, ccr2_l, ccr2_h),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM2` in this scope
[INFO] [stdout]    --> src/timer/pwm.rs:164:5
[INFO] [stdout]     |
[INFO] [stdout] 164 |     TIM2: (Channel3, cc3e, ccmr2_output, oc3pe, oc3m, ccr3, ccr3_l, ccr3_h),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM2` in this scope
[INFO] [stdout]    --> src/timer/pwm.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 165 |     TIM2: (Channel4, cc4e, ccmr2_output, oc4pe, oc4m, ccr4, ccr4_l, ccr4_h),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM3` in this scope
[INFO] [stdout]    --> src/timer/pwm.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 166 |     TIM3: (Channel1, cc1e, ccmr1_output, oc1pe, oc1m, ccr1, ccr1_l, ccr1_h),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM3` in this scope
[INFO] [stdout]    --> src/timer/pwm.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     TIM3: (Channel2, cc2e, ccmr1_output, oc2pe, oc2m, ccr2, ccr2_l, ccr2_h),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM3` in this scope
[INFO] [stdout]    --> src/timer/pwm.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 |     TIM3: (Channel3, cc3e, ccmr2_output, oc3pe, oc3m, ccr3, ccr3_l, ccr3_h),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM3` in this scope
[INFO] [stdout]    --> src/timer/pwm.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     TIM3: (Channel4, cc4e, ccmr2_output, oc4pe, oc4m, ccr4, ccr4_l, ccr4_h),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM1` in this scope
[INFO] [stdout]    --> src/timer/pwm.rs:178:5
[INFO] [stdout]     |
[INFO] [stdout] 178 |     TIM1: (apbenr2, apbrstr2, tim1, tim1en, tim1rst, arr),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM2` in this scope
[INFO] [stdout]    --> src/timer/pwm.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     TIM2: (apbenr1, apbrstr1, tim2, tim2en, tim2rst, arr_l, arr_h),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM3` in this scope
[INFO] [stdout]    --> src/timer/pwm.rs:180:5
[INFO] [stdout]     |
[INFO] [stdout] 180 |     TIM3: (apbenr1, apbrstr1, tim3, tim3en, tim3rst, arr_l, arr_h),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM14` in this scope
[INFO] [stdout]    --> src/timer/pwm.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 |     TIM14: (apbenr2, apbrstr2, tim14, tim14en, tim14rst, arr),
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM16` in this scope
[INFO] [stdout]    --> src/timer/pwm.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     TIM16: (apbenr2, apbrstr2, tim16, tim16en, tim16rst, arr),
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM17` in this scope
[INFO] [stdout]    --> src/timer/pwm.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 |     TIM17: (apbenr2, apbrstr2, tim17, tim17en, tim17rst, arr),
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM1` in this scope
[INFO] [stdout]   --> src/timer/stopwatch.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     TIM1: (tim1, tim1en, tim1rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout]    |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM2` in this scope
[INFO] [stdout]   --> src/timer/stopwatch.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     TIM2: (tim2, tim2en, tim2rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout]    |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM3` in this scope
[INFO] [stdout]   --> src/timer/stopwatch.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     TIM3: (tim3, tim3en, tim3rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout]    |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM14` in this scope
[INFO] [stdout]   --> src/timer/stopwatch.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     TIM14: (tim14, tim14en, tim14rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout]    |     ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM16` in this scope
[INFO] [stdout]   --> src/timer/stopwatch.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 |     TIM16: (tim16, tim16en, tim16rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout]    |     ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM17` in this scope
[INFO] [stdout]   --> src/timer/stopwatch.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     TIM17: (tim17, tim17en, tim17rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout]    |     ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM1` in this scope
[INFO] [stdout]   --> src/timer/pins.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 | timer_pins!(TIM1, [
[INFO] [stdout]    |             ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM2` in this scope
[INFO] [stdout]   --> src/timer/pins.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 | timer_pins!(TIM2, [
[INFO] [stdout]    |             ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM3` in this scope
[INFO] [stdout]   --> src/timer/pins.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 | timer_pins!(TIM3, [
[INFO] [stdout]    |             ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM14` in this scope
[INFO] [stdout]   --> src/timer/pins.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 | timer_pins!(TIM14, [
[INFO] [stdout]    |             ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM16` in this scope
[INFO] [stdout]   --> src/timer/pins.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 | timer_pins!(TIM16, [
[INFO] [stdout]    |             ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM17` in this scope
[INFO] [stdout]   --> src/timer/pins.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 | timer_pins!(TIM17, [
[INFO] [stdout]    |             ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM1` in this scope
[INFO] [stdout]    --> src/timer/mod.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 194 |     TIM1: (tim1, tim1en, tim1rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM2` in this scope
[INFO] [stdout]    --> src/timer/mod.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 195 |     TIM2: (tim2, tim2en, tim2rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM3` in this scope
[INFO] [stdout]    --> src/timer/mod.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 196 |     TIM3: (tim3, tim3en, tim3rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM14` in this scope
[INFO] [stdout]    --> src/timer/mod.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 197 |     TIM14: (tim14, tim14en, tim14rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM16` in this scope
[INFO] [stdout]    --> src/timer/mod.rs:198:5
[INFO] [stdout]     |
[INFO] [stdout] 198 |     TIM16: (tim16, tim16en, tim16rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TIM17` in this scope
[INFO] [stdout]    --> src/timer/mod.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 199 |     TIM17: (tim17, tim17en, tim17rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `delay`
[INFO] [stdout]    --> src/delay.rs:30:5
[INFO] [stdout]     |
[INFO] [stdout] 30  | /     pub fn delay<T>(&mut self, delay: T)
[INFO] [stdout] 31  | |     where
[INFO] [stdout] 32  | |         T: Into<MicroSecond>,
[INFO] [stdout] 33  | |     {
[INFO] [stdout] ...   |
[INFO] [stdout] 43  | |         }
[INFO] [stdout] 44  | |     }
[INFO] [stdout]     | |_____^ duplicate definitions for `delay`
[INFO] [stdout] ...
[INFO] [stdout] 109 | /                 pub fn delay<T>(&mut self, delay: T)
[INFO] [stdout] 110 | |                 where
[INFO] [stdout] 111 | |                     T: Into<MicroSecond>,
[INFO] [stdout] 112 | |                 {
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |                     }
[INFO] [stdout] 124 | |                 }
[INFO] [stdout]     | |_________________- other definition for `delay`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `release`
[INFO] [stdout]    --> src/delay.rs:47:5
[INFO] [stdout]     |
[INFO] [stdout] 47  | /     pub fn release(self) -> SYST {
[INFO] [stdout] 48  | |         self.tim
[INFO] [stdout] 49  | |     }
[INFO] [stdout]     | |_____^ duplicate definitions for `release`
[INFO] [stdout] ...
[INFO] [stdout] 126 | /                 pub fn release(self) -> $TIM {
[INFO] [stdout] 127 | |                     self.tim
[INFO] [stdout] 128 | |                 }
[INFO] [stdout]     | |_________________- other definition for `release`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `delay`
[INFO] [stdout]    --> src/delay.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 | /                 pub fn delay<T>(&mut self, delay: T)
[INFO] [stdout] 110 | |                 where
[INFO] [stdout] 111 | |                     T: Into<MicroSecond>,
[INFO] [stdout] 112 | |                 {
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |                     }
[INFO] [stdout] 124 | |                 }
[INFO] [stdout]     | |                 ^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________duplicate definitions for `delay`
[INFO] [stdout]     |                   other definition for `delay`
[INFO] [stdout] ...
[INFO] [stdout] 176 | / delays! {
[INFO] [stdout] 177 | |     TIM1: (tim1, tim1en, tim1rst, apbenr2, apbrstr2),
[INFO] [stdout] 178 | |     TIM2: (tim2, tim2en, tim2rst, apbenr1, apbrstr1),
[INFO] [stdout] 179 | |     TIM3: (tim3, tim3en, tim3rst, apbenr1, apbrstr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 182 | |     TIM17: (tim17, tim17en, tim17rst, apbenr2, apbrstr2),
[INFO] [stdout] 183 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `release`
[INFO] [stdout]    --> src/delay.rs:126:17
[INFO] [stdout]     |
[INFO] [stdout] 126 | /                 pub fn release(self) -> $TIM {
[INFO] [stdout] 127 | |                     self.tim
[INFO] [stdout] 128 | |                 }
[INFO] [stdout]     | |                 ^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________duplicate definitions for `release`
[INFO] [stdout]     |                   other definition for `release`
[INFO] [stdout] ...
[INFO] [stdout] 176 | / delays! {
[INFO] [stdout] 177 | |     TIM1: (tim1, tim1en, tim1rst, apbenr2, apbrstr2),
[INFO] [stdout] 178 | |     TIM2: (tim2, tim2en, tim2rst, apbenr1, apbrstr1),
[INFO] [stdout] 179 | |     TIM3: (tim3, tim3en, tim3rst, apbenr1, apbrstr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 182 | |     TIM17: (tim17, tim17en, tim17rst, apbenr2, apbrstr2),
[INFO] [stdout] 183 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `release`
[INFO] [stdout]    --> src/i2c.rs:222:13
[INFO] [stdout]     |
[INFO] [stdout] 222 | /             pub fn release(self) -> ($I2CX, SDA, SCL) {
[INFO] [stdout] 223 | |                 (self.i2c, self.sda, self.scl)
[INFO] [stdout] 224 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `release`
[INFO] [stdout]     |               other definition for `release`
[INFO] [stdout] ...
[INFO] [stdout] 383 | / i2c!(
[INFO] [stdout] 384 | |     I2C1,
[INFO] [stdout] 385 | |     i2c1,
[INFO] [stdout] 386 | |     i2c1en,
[INFO] [stdout] ...   |
[INFO] [stdout] 397 | |     ],
[INFO] [stdout] 398 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `with_dma`
[INFO] [stdout]    --> src/serial.rs:349:13
[INFO] [stdout]     |
[INFO] [stdout] 349 | /             pub fn with_dma<CHANNEL>(self, channel: CHANNEL) -> DmaRx<$USARTX, CHANNEL>
[INFO] [stdout] 350 | |                 where CHANNEL: DmaChannel
[INFO] [stdout] 351 | |             {
[INFO] [stdout] 352 | |                 let usart = unsafe { &(*$USARTX::ptr()) };
[INFO] [stdout] ...   |
[INFO] [stdout] 361 | |                 }
[INFO] [stdout] 362 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `with_dma`
[INFO] [stdout]     |               other definition for `with_dma`
[INFO] [stdout] ...
[INFO] [stdout] 501 | / uart!(
[INFO] [stdout] 502 | |     LPUART, lpuart, apbenr1, lpuart1en, 256,
[INFO] [stdout] 503 | |     tx: [
[INFO] [stdout] 504 | |         (PA2<DefaultMode>, AltFunction::AF6),
[INFO] [stdout] ...   |
[INFO] [stdout] 512 | |     ],
[INFO] [stdout] 513 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `listen`
[INFO] [stdout]    --> src/serial.rs:365:13
[INFO] [stdout]     |
[INFO] [stdout] 365 | /             pub fn listen(&mut self) {
[INFO] [stdout] 366 | |                 let usart = unsafe { &(*$USARTX::ptr()) };
[INFO] [stdout] 367 | |                 usart.cr1.modify(|_, w| w.rxneie().set_bit());
[INFO] [stdout] 368 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `listen`
[INFO] [stdout]     |               other definition for `listen`
[INFO] [stdout] ...
[INFO] [stdout] 501 | / uart!(
[INFO] [stdout] 502 | |     LPUART, lpuart, apbenr1, lpuart1en, 256,
[INFO] [stdout] 503 | |     tx: [
[INFO] [stdout] 504 | |         (PA2<DefaultMode>, AltFunction::AF6),
[INFO] [stdout] ...   |
[INFO] [stdout] 512 | |     ],
[INFO] [stdout] 513 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `unlisten`
[INFO] [stdout]    --> src/serial.rs:371:13
[INFO] [stdout]     |
[INFO] [stdout] 371 | /             pub fn unlisten(&mut self) {
[INFO] [stdout] 372 | |                 let usart = unsafe { &(*$USARTX::ptr()) };
[INFO] [stdout] 373 | |                 usart.cr1.modify(|_, w| w.rxneie().clear_bit());
[INFO] [stdout] 374 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `unlisten`
[INFO] [stdout]     |               other definition for `unlisten`
[INFO] [stdout] ...
[INFO] [stdout] 501 | / uart!(
[INFO] [stdout] 502 | |     LPUART, lpuart, apbenr1, lpuart1en, 256,
[INFO] [stdout] 503 | |     tx: [
[INFO] [stdout] 504 | |         (PA2<DefaultMode>, AltFunction::AF6),
[INFO] [stdout] ...   |
[INFO] [stdout] 512 | |     ],
[INFO] [stdout] 513 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `with_dma`
[INFO] [stdout]    --> src/serial.rs:349:13
[INFO] [stdout]     |
[INFO] [stdout] 349 | /             pub fn with_dma<CHANNEL>(self, channel: CHANNEL) -> DmaRx<$USARTX, CHANNEL>
[INFO] [stdout] 350 | |                 where CHANNEL: DmaChannel
[INFO] [stdout] 351 | |             {
[INFO] [stdout] 352 | |                 let usart = unsafe { &(*$USARTX::ptr()) };
[INFO] [stdout] ...   |
[INFO] [stdout] 361 | |                 }
[INFO] [stdout] 362 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `with_dma`
[INFO] [stdout]     |               other definition for `with_dma`
[INFO] [stdout] ...
[INFO] [stdout] 501 | / uart!(
[INFO] [stdout] 502 | |     LPUART, lpuart, apbenr1, lpuart1en, 256,
[INFO] [stdout] 503 | |     tx: [
[INFO] [stdout] 504 | |         (PA2<DefaultMode>, AltFunction::AF6),
[INFO] [stdout] ...   |
[INFO] [stdout] 512 | |     ],
[INFO] [stdout] 513 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `listen`
[INFO] [stdout]    --> src/serial.rs:365:13
[INFO] [stdout]     |
[INFO] [stdout] 365 | /             pub fn listen(&mut self) {
[INFO] [stdout] 366 | |                 let usart = unsafe { &(*$USARTX::ptr()) };
[INFO] [stdout] 367 | |                 usart.cr1.modify(|_, w| w.rxneie().set_bit());
[INFO] [stdout] 368 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `listen`
[INFO] [stdout]     |               other definition for `listen`
[INFO] [stdout] ...
[INFO] [stdout] 501 | / uart!(
[INFO] [stdout] 502 | |     LPUART, lpuart, apbenr1, lpuart1en, 256,
[INFO] [stdout] 503 | |     tx: [
[INFO] [stdout] 504 | |         (PA2<DefaultMode>, AltFunction::AF6),
[INFO] [stdout] ...   |
[INFO] [stdout] 512 | |     ],
[INFO] [stdout] 513 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `unlisten`
[INFO] [stdout]    --> src/serial.rs:371:13
[INFO] [stdout]     |
[INFO] [stdout] 371 | /             pub fn unlisten(&mut self) {
[INFO] [stdout] 372 | |                 let usart = unsafe { &(*$USARTX::ptr()) };
[INFO] [stdout] 373 | |                 usart.cr1.modify(|_, w| w.rxneie().clear_bit());
[INFO] [stdout] 374 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `unlisten`
[INFO] [stdout]     |               other definition for `unlisten`
[INFO] [stdout] ...
[INFO] [stdout] 501 | / uart!(
[INFO] [stdout] 502 | |     LPUART, lpuart, apbenr1, lpuart1en, 256,
[INFO] [stdout] 503 | |     tx: [
[INFO] [stdout] 504 | |         (PA2<DefaultMode>, AltFunction::AF6),
[INFO] [stdout] ...   |
[INFO] [stdout] 512 | |     ],
[INFO] [stdout] 513 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `with_dma`
[INFO] [stdout]    --> src/serial.rs:349:13
[INFO] [stdout]     |
[INFO] [stdout] 349 | /             pub fn with_dma<CHANNEL>(self, channel: CHANNEL) -> DmaRx<$USARTX, CHANNEL>
[INFO] [stdout] 350 | |                 where CHANNEL: DmaChannel
[INFO] [stdout] 351 | |             {
[INFO] [stdout] 352 | |                 let usart = unsafe { &(*$USARTX::ptr()) };
[INFO] [stdout] ...   |
[INFO] [stdout] 361 | |                 }
[INFO] [stdout] 362 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `with_dma`
[INFO] [stdout]     |               other definition for `with_dma`
[INFO] [stdout] ...
[INFO] [stdout] 515 | / uart!(
[INFO] [stdout] 516 | |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout] 517 | |     tx: [
[INFO] [stdout] 518 | |         (PA9<DefaultMode>, AltFunction::AF1),
[INFO] [stdout] ...   |
[INFO] [stdout] 526 | |     ],
[INFO] [stdout] 527 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `listen`
[INFO] [stdout]    --> src/serial.rs:365:13
[INFO] [stdout]     |
[INFO] [stdout] 365 | /             pub fn listen(&mut self) {
[INFO] [stdout] 366 | |                 let usart = unsafe { &(*$USARTX::ptr()) };
[INFO] [stdout] 367 | |                 usart.cr1.modify(|_, w| w.rxneie().set_bit());
[INFO] [stdout] 368 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `listen`
[INFO] [stdout]     |               other definition for `listen`
[INFO] [stdout] ...
[INFO] [stdout] 515 | / uart!(
[INFO] [stdout] 516 | |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout] 517 | |     tx: [
[INFO] [stdout] 518 | |         (PA9<DefaultMode>, AltFunction::AF1),
[INFO] [stdout] ...   |
[INFO] [stdout] 526 | |     ],
[INFO] [stdout] 527 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `unlisten`
[INFO] [stdout]    --> src/serial.rs:371:13
[INFO] [stdout]     |
[INFO] [stdout] 371 | /             pub fn unlisten(&mut self) {
[INFO] [stdout] 372 | |                 let usart = unsafe { &(*$USARTX::ptr()) };
[INFO] [stdout] 373 | |                 usart.cr1.modify(|_, w| w.rxneie().clear_bit());
[INFO] [stdout] 374 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `unlisten`
[INFO] [stdout]     |               other definition for `unlisten`
[INFO] [stdout] ...
[INFO] [stdout] 515 | / uart!(
[INFO] [stdout] 516 | |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout] 517 | |     tx: [
[INFO] [stdout] 518 | |         (PA9<DefaultMode>, AltFunction::AF1),
[INFO] [stdout] ...   |
[INFO] [stdout] 526 | |     ],
[INFO] [stdout] 527 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `with_dma`
[INFO] [stdout]    --> src/serial.rs:320:13
[INFO] [stdout]     |
[INFO] [stdout] 320 | /             pub fn with_dma<CHANNEL>(self, channel: CHANNEL) -> DmaTx<$USARTX, CHANNEL>
[INFO] [stdout] 321 | |                 where CHANNEL: DmaChannel
[INFO] [stdout] 322 | |             {
[INFO] [stdout] 323 | |                 let usart = unsafe { &(*$USARTX::ptr()) };
[INFO] [stdout] ...   |
[INFO] [stdout] 332 | |                 }
[INFO] [stdout] 333 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `with_dma`
[INFO] [stdout]     |               other definition for `with_dma`
[INFO] [stdout] ...
[INFO] [stdout] 501 | / uart!(
[INFO] [stdout] 502 | |     LPUART, lpuart, apbenr1, lpuart1en, 256,
[INFO] [stdout] 503 | |     tx: [
[INFO] [stdout] 504 | |         (PA2<DefaultMode>, AltFunction::AF6),
[INFO] [stdout] ...   |
[INFO] [stdout] 512 | |     ],
[INFO] [stdout] 513 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `listen`
[INFO] [stdout]    --> src/serial.rs:336:13
[INFO] [stdout]     |
[INFO] [stdout] 336 | /             pub fn listen(&mut self) {
[INFO] [stdout] 337 | |                 let usart = unsafe { &(*$USARTX::ptr()) };
[INFO] [stdout] 338 | |                 usart.cr1.modify(|_, w| w.txeie().set_bit());
[INFO] [stdout] 339 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `listen`
[INFO] [stdout]     |               other definition for `listen`
[INFO] [stdout] ...
[INFO] [stdout] 501 | / uart!(
[INFO] [stdout] 502 | |     LPUART, lpuart, apbenr1, lpuart1en, 256,
[INFO] [stdout] 503 | |     tx: [
[INFO] [stdout] 504 | |         (PA2<DefaultMode>, AltFunction::AF6),
[INFO] [stdout] ...   |
[INFO] [stdout] 512 | |     ],
[INFO] [stdout] 513 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `unlisten`
[INFO] [stdout]    --> src/serial.rs:342:13
[INFO] [stdout]     |
[INFO] [stdout] 342 | /             pub fn unlisten(&mut self) {
[INFO] [stdout] 343 | |                 let usart = unsafe { &(*$USARTX::ptr()) };
[INFO] [stdout] 344 | |                 usart.cr1.modify(|_, w| w.txeie().clear_bit());
[INFO] [stdout] 345 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `unlisten`
[INFO] [stdout]     |               other definition for `unlisten`
[INFO] [stdout] ...
[INFO] [stdout] 501 | / uart!(
[INFO] [stdout] 502 | |     LPUART, lpuart, apbenr1, lpuart1en, 256,
[INFO] [stdout] 503 | |     tx: [
[INFO] [stdout] 504 | |         (PA2<DefaultMode>, AltFunction::AF6),
[INFO] [stdout] ...   |
[INFO] [stdout] 512 | |     ],
[INFO] [stdout] 513 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `with_dma`
[INFO] [stdout]    --> src/serial.rs:320:13
[INFO] [stdout]     |
[INFO] [stdout] 320 | /             pub fn with_dma<CHANNEL>(self, channel: CHANNEL) -> DmaTx<$USARTX, CHANNEL>
[INFO] [stdout] 321 | |                 where CHANNEL: DmaChannel
[INFO] [stdout] 322 | |             {
[INFO] [stdout] 323 | |                 let usart = unsafe { &(*$USARTX::ptr()) };
[INFO] [stdout] ...   |
[INFO] [stdout] 332 | |                 }
[INFO] [stdout] 333 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `with_dma`
[INFO] [stdout]     |               other definition for `with_dma`
[INFO] [stdout] ...
[INFO] [stdout] 501 | / uart!(
[INFO] [stdout] 502 | |     LPUART, lpuart, apbenr1, lpuart1en, 256,
[INFO] [stdout] 503 | |     tx: [
[INFO] [stdout] 504 | |         (PA2<DefaultMode>, AltFunction::AF6),
[INFO] [stdout] ...   |
[INFO] [stdout] 512 | |     ],
[INFO] [stdout] 513 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `listen`
[INFO] [stdout]    --> src/serial.rs:336:13
[INFO] [stdout]     |
[INFO] [stdout] 336 | /             pub fn listen(&mut self) {
[INFO] [stdout] 337 | |                 let usart = unsafe { &(*$USARTX::ptr()) };
[INFO] [stdout] 338 | |                 usart.cr1.modify(|_, w| w.txeie().set_bit());
[INFO] [stdout] 339 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `listen`
[INFO] [stdout]     |               other definition for `listen`
[INFO] [stdout] ...
[INFO] [stdout] 501 | / uart!(
[INFO] [stdout] 502 | |     LPUART, lpuart, apbenr1, lpuart1en, 256,
[INFO] [stdout] 503 | |     tx: [
[INFO] [stdout] 504 | |         (PA2<DefaultMode>, AltFunction::AF6),
[INFO] [stdout] ...   |
[INFO] [stdout] 512 | |     ],
[INFO] [stdout] 513 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `unlisten`
[INFO] [stdout]    --> src/serial.rs:342:13
[INFO] [stdout]     |
[INFO] [stdout] 342 | /             pub fn unlisten(&mut self) {
[INFO] [stdout] 343 | |                 let usart = unsafe { &(*$USARTX::ptr()) };
[INFO] [stdout] 344 | |                 usart.cr1.modify(|_, w| w.txeie().clear_bit());
[INFO] [stdout] 345 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `unlisten`
[INFO] [stdout]     |               other definition for `unlisten`
[INFO] [stdout] ...
[INFO] [stdout] 501 | / uart!(
[INFO] [stdout] 502 | |     LPUART, lpuart, apbenr1, lpuart1en, 256,
[INFO] [stdout] 503 | |     tx: [
[INFO] [stdout] 504 | |         (PA2<DefaultMode>, AltFunction::AF6),
[INFO] [stdout] ...   |
[INFO] [stdout] 512 | |     ],
[INFO] [stdout] 513 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `with_dma`
[INFO] [stdout]    --> src/serial.rs:320:13
[INFO] [stdout]     |
[INFO] [stdout] 320 | /             pub fn with_dma<CHANNEL>(self, channel: CHANNEL) -> DmaTx<$USARTX, CHANNEL>
[INFO] [stdout] 321 | |                 where CHANNEL: DmaChannel
[INFO] [stdout] 322 | |             {
[INFO] [stdout] 323 | |                 let usart = unsafe { &(*$USARTX::ptr()) };
[INFO] [stdout] ...   |
[INFO] [stdout] 332 | |                 }
[INFO] [stdout] 333 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `with_dma`
[INFO] [stdout]     |               other definition for `with_dma`
[INFO] [stdout] ...
[INFO] [stdout] 515 | / uart!(
[INFO] [stdout] 516 | |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout] 517 | |     tx: [
[INFO] [stdout] 518 | |         (PA9<DefaultMode>, AltFunction::AF1),
[INFO] [stdout] ...   |
[INFO] [stdout] 526 | |     ],
[INFO] [stdout] 527 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `listen`
[INFO] [stdout]    --> src/serial.rs:336:13
[INFO] [stdout]     |
[INFO] [stdout] 336 | /             pub fn listen(&mut self) {
[INFO] [stdout] 337 | |                 let usart = unsafe { &(*$USARTX::ptr()) };
[INFO] [stdout] 338 | |                 usart.cr1.modify(|_, w| w.txeie().set_bit());
[INFO] [stdout] 339 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `listen`
[INFO] [stdout]     |               other definition for `listen`
[INFO] [stdout] ...
[INFO] [stdout] 515 | / uart!(
[INFO] [stdout] 516 | |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout] 517 | |     tx: [
[INFO] [stdout] 518 | |         (PA9<DefaultMode>, AltFunction::AF1),
[INFO] [stdout] ...   |
[INFO] [stdout] 526 | |     ],
[INFO] [stdout] 527 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `unlisten`
[INFO] [stdout]    --> src/serial.rs:342:13
[INFO] [stdout]     |
[INFO] [stdout] 342 | /             pub fn unlisten(&mut self) {
[INFO] [stdout] 343 | |                 let usart = unsafe { &(*$USARTX::ptr()) };
[INFO] [stdout] 344 | |                 usart.cr1.modify(|_, w| w.txeie().clear_bit());
[INFO] [stdout] 345 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `unlisten`
[INFO] [stdout]     |               other definition for `unlisten`
[INFO] [stdout] ...
[INFO] [stdout] 515 | / uart!(
[INFO] [stdout] 516 | |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout] 517 | |     tx: [
[INFO] [stdout] 518 | |         (PA9<DefaultMode>, AltFunction::AF1),
[INFO] [stdout] ...   |
[INFO] [stdout] 526 | |     ],
[INFO] [stdout] 527 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `listen`
[INFO] [stdout]    --> src/serial.rs:291:13
[INFO] [stdout]     |
[INFO] [stdout] 291 | /             pub fn listen(&mut self, event: Event) {
[INFO] [stdout] 292 | |                 let usart = unsafe { &(*$USARTX::ptr()) };
[INFO] [stdout] 293 | |
[INFO] [stdout] 294 | |                 match event {
[INFO] [stdout] ...   |
[INFO] [stdout] 298 | |                 }
[INFO] [stdout] 299 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `listen`
[INFO] [stdout]     |               other definition for `listen`
[INFO] [stdout] ...
[INFO] [stdout] 501 | / uart!(
[INFO] [stdout] 502 | |     LPUART, lpuart, apbenr1, lpuart1en, 256,
[INFO] [stdout] 503 | |     tx: [
[INFO] [stdout] 504 | |         (PA2<DefaultMode>, AltFunction::AF6),
[INFO] [stdout] ...   |
[INFO] [stdout] 512 | |     ],
[INFO] [stdout] 513 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `unlisten`
[INFO] [stdout]    --> src/serial.rs:302:13
[INFO] [stdout]     |
[INFO] [stdout] 302 | /             pub fn unlisten(&mut self, event: Event) {
[INFO] [stdout] 303 | |                 let usart = unsafe { &(*$USARTX::ptr()) };
[INFO] [stdout] 304 | |
[INFO] [stdout] 305 | |                 match event {
[INFO] [stdout] ...   |
[INFO] [stdout] 309 | |                 }
[INFO] [stdout] 310 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `unlisten`
[INFO] [stdout]     |               other definition for `unlisten`
[INFO] [stdout] ...
[INFO] [stdout] 501 | / uart!(
[INFO] [stdout] 502 | |     LPUART, lpuart, apbenr1, lpuart1en, 256,
[INFO] [stdout] 503 | |     tx: [
[INFO] [stdout] 504 | |         (PA2<DefaultMode>, AltFunction::AF6),
[INFO] [stdout] ...   |
[INFO] [stdout] 512 | |     ],
[INFO] [stdout] 513 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `split`
[INFO] [stdout]    --> src/serial.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 314 | /             pub fn split(self) -> (Tx<$USARTX>, Rx<$USARTX>) {
[INFO] [stdout] 315 | |                 (self.tx, self.rx)
[INFO] [stdout] 316 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `split`
[INFO] [stdout]     |               other definition for `split`
[INFO] [stdout] ...
[INFO] [stdout] 501 | / uart!(
[INFO] [stdout] 502 | |     LPUART, lpuart, apbenr1, lpuart1en, 256,
[INFO] [stdout] 503 | |     tx: [
[INFO] [stdout] 504 | |         (PA2<DefaultMode>, AltFunction::AF6),
[INFO] [stdout] ...   |
[INFO] [stdout] 512 | |     ],
[INFO] [stdout] 513 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `listen`
[INFO] [stdout]    --> src/serial.rs:291:13
[INFO] [stdout]     |
[INFO] [stdout] 291 | /             pub fn listen(&mut self, event: Event) {
[INFO] [stdout] 292 | |                 let usart = unsafe { &(*$USARTX::ptr()) };
[INFO] [stdout] 293 | |
[INFO] [stdout] 294 | |                 match event {
[INFO] [stdout] ...   |
[INFO] [stdout] 298 | |                 }
[INFO] [stdout] 299 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `listen`
[INFO] [stdout]     |               other definition for `listen`
[INFO] [stdout] ...
[INFO] [stdout] 501 | / uart!(
[INFO] [stdout] 502 | |     LPUART, lpuart, apbenr1, lpuart1en, 256,
[INFO] [stdout] 503 | |     tx: [
[INFO] [stdout] 504 | |         (PA2<DefaultMode>, AltFunction::AF6),
[INFO] [stdout] ...   |
[INFO] [stdout] 512 | |     ],
[INFO] [stdout] 513 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `unlisten`
[INFO] [stdout]    --> src/serial.rs:302:13
[INFO] [stdout]     |
[INFO] [stdout] 302 | /             pub fn unlisten(&mut self, event: Event) {
[INFO] [stdout] 303 | |                 let usart = unsafe { &(*$USARTX::ptr()) };
[INFO] [stdout] 304 | |
[INFO] [stdout] 305 | |                 match event {
[INFO] [stdout] ...   |
[INFO] [stdout] 309 | |                 }
[INFO] [stdout] 310 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `unlisten`
[INFO] [stdout]     |               other definition for `unlisten`
[INFO] [stdout] ...
[INFO] [stdout] 501 | / uart!(
[INFO] [stdout] 502 | |     LPUART, lpuart, apbenr1, lpuart1en, 256,
[INFO] [stdout] 503 | |     tx: [
[INFO] [stdout] 504 | |         (PA2<DefaultMode>, AltFunction::AF6),
[INFO] [stdout] ...   |
[INFO] [stdout] 512 | |     ],
[INFO] [stdout] 513 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `split`
[INFO] [stdout]    --> src/serial.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 314 | /             pub fn split(self) -> (Tx<$USARTX>, Rx<$USARTX>) {
[INFO] [stdout] 315 | |                 (self.tx, self.rx)
[INFO] [stdout] 316 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `split`
[INFO] [stdout]     |               other definition for `split`
[INFO] [stdout] ...
[INFO] [stdout] 501 | / uart!(
[INFO] [stdout] 502 | |     LPUART, lpuart, apbenr1, lpuart1en, 256,
[INFO] [stdout] 503 | |     tx: [
[INFO] [stdout] 504 | |         (PA2<DefaultMode>, AltFunction::AF6),
[INFO] [stdout] ...   |
[INFO] [stdout] 512 | |     ],
[INFO] [stdout] 513 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `listen`
[INFO] [stdout]    --> src/serial.rs:291:13
[INFO] [stdout]     |
[INFO] [stdout] 291 | /             pub fn listen(&mut self, event: Event) {
[INFO] [stdout] 292 | |                 let usart = unsafe { &(*$USARTX::ptr()) };
[INFO] [stdout] 293 | |
[INFO] [stdout] 294 | |                 match event {
[INFO] [stdout] ...   |
[INFO] [stdout] 298 | |                 }
[INFO] [stdout] 299 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `listen`
[INFO] [stdout]     |               other definition for `listen`
[INFO] [stdout] ...
[INFO] [stdout] 515 | / uart!(
[INFO] [stdout] 516 | |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout] 517 | |     tx: [
[INFO] [stdout] 518 | |         (PA9<DefaultMode>, AltFunction::AF1),
[INFO] [stdout] ...   |
[INFO] [stdout] 526 | |     ],
[INFO] [stdout] 527 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `unlisten`
[INFO] [stdout]    --> src/serial.rs:302:13
[INFO] [stdout]     |
[INFO] [stdout] 302 | /             pub fn unlisten(&mut self, event: Event) {
[INFO] [stdout] 303 | |                 let usart = unsafe { &(*$USARTX::ptr()) };
[INFO] [stdout] 304 | |
[INFO] [stdout] 305 | |                 match event {
[INFO] [stdout] ...   |
[INFO] [stdout] 309 | |                 }
[INFO] [stdout] 310 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `unlisten`
[INFO] [stdout]     |               other definition for `unlisten`
[INFO] [stdout] ...
[INFO] [stdout] 515 | / uart!(
[INFO] [stdout] 516 | |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout] 517 | |     tx: [
[INFO] [stdout] 518 | |         (PA9<DefaultMode>, AltFunction::AF1),
[INFO] [stdout] ...   |
[INFO] [stdout] 526 | |     ],
[INFO] [stdout] 527 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `split`
[INFO] [stdout]    --> src/serial.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 314 | /             pub fn split(self) -> (Tx<$USARTX>, Rx<$USARTX>) {
[INFO] [stdout] 315 | |                 (self.tx, self.rx)
[INFO] [stdout] 316 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `split`
[INFO] [stdout]     |               other definition for `split`
[INFO] [stdout] ...
[INFO] [stdout] 515 | / uart!(
[INFO] [stdout] 516 | |     USART1, usart1, apbenr2, usart1en, 1,
[INFO] [stdout] 517 | |     tx: [
[INFO] [stdout] 518 | |         (PA9<DefaultMode>, AltFunction::AF1),
[INFO] [stdout] ...   |
[INFO] [stdout] 526 | |     ],
[INFO] [stdout] 527 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `enable`
[INFO] [stdout]    --> src/timer/opm.rs:62:17
[INFO] [stdout]     |
[INFO] [stdout] 62  | /                 pub fn enable (&mut self) {
[INFO] [stdout] 63  | |                     self.rb.ccer.modify(|_, w| w.$ccxe().set_bit());
[INFO] [stdout] 64  | |                     self.setup();
[INFO] [stdout] 65  | |                 }
[INFO] [stdout]     | |                 ^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________duplicate definitions for `enable`
[INFO] [stdout]     |                   other definition for `enable`
[INFO] [stdout] ...
[INFO] [stdout] 119 | / opm_hal! {
[INFO] [stdout] 120 | |     TIM1: (Channel1, cc1e, ccmr1_output, oc1m, oc1fe, ccr1, arr),
[INFO] [stdout] 121 | |     TIM1: (Channel2, cc2e, ccmr1_output, oc2m, oc2fe, ccr2, arr),
[INFO] [stdout] 122 | |     TIM1: (Channel3, cc3e, ccmr2_output, oc3m, oc3fe, ccr3, arr),
[INFO] [stdout] ...   |
[INFO] [stdout] 134 | |     TIM17: (Channel1, cc1e, ccmr1_output, oc1m, oc1fe, ccr1, arr),
[INFO] [stdout] 135 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `disable`
[INFO] [stdout]    --> src/timer/opm.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout] 67  | /                 pub fn disable (&mut self) {
[INFO] [stdout] 68  | |                     self.rb.ccer.modify(|_, w| w.$ccxe().clear_bit());
[INFO] [stdout] 69  | |                 }
[INFO] [stdout]     | |                 ^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________duplicate definitions for `disable`
[INFO] [stdout]     |                   other definition for `disable`
[INFO] [stdout] ...
[INFO] [stdout] 119 | / opm_hal! {
[INFO] [stdout] 120 | |     TIM1: (Channel1, cc1e, ccmr1_output, oc1m, oc1fe, ccr1, arr),
[INFO] [stdout] 121 | |     TIM1: (Channel2, cc2e, ccmr1_output, oc2m, oc2fe, ccr2, arr),
[INFO] [stdout] 122 | |     TIM1: (Channel3, cc3e, ccmr2_output, oc3m, oc3fe, ccr3, arr),
[INFO] [stdout] ...   |
[INFO] [stdout] 134 | |     TIM17: (Channel1, cc1e, ccmr1_output, oc1m, oc1fe, ccr1, arr),
[INFO] [stdout] 135 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `generate`
[INFO] [stdout]    --> src/timer/opm.rs:71:17
[INFO] [stdout]     |
[INFO] [stdout] 71  | /                 pub fn generate(&mut self) {
[INFO] [stdout] 72  | |                     self.rb.cr1.write(|w| w.opm().set_bit().cen().set_bit());
[INFO] [stdout] 73  | |                 }
[INFO] [stdout]     | |                 ^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________duplicate definitions for `generate`
[INFO] [stdout]     |                   other definition for `generate`
[INFO] [stdout] ...
[INFO] [stdout] 119 | / opm_hal! {
[INFO] [stdout] 120 | |     TIM1: (Channel1, cc1e, ccmr1_output, oc1m, oc1fe, ccr1, arr),
[INFO] [stdout] 121 | |     TIM1: (Channel2, cc2e, ccmr1_output, oc2m, oc2fe, ccr2, arr),
[INFO] [stdout] 122 | |     TIM1: (Channel3, cc3e, ccmr2_output, oc3m, oc3fe, ccr3, arr),
[INFO] [stdout] ...   |
[INFO] [stdout] 134 | |     TIM17: (Channel1, cc1e, ccmr1_output, oc1m, oc1fe, ccr1, arr),
[INFO] [stdout] 135 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `set_pulse_width`
[INFO] [stdout]    --> src/timer/opm.rs:75:17
[INFO] [stdout]     |
[INFO] [stdout] 75  | /                 pub fn set_pulse_width<T> (&mut self, pulse_width: T)
[INFO] [stdout] 76  | |                 where
[INFO] [stdout] 77  | |                     T: Into<MicroSecond>
[INFO] [stdout] 78  | |                 {
[INFO] [stdout] 79  | |                     self.pulse_width = pulse_width.into();
[INFO] [stdout] 80  | |                     self.setup();
[INFO] [stdout] 81  | |                 }
[INFO] [stdout]     | |                 ^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________duplicate definitions for `set_pulse_width`
[INFO] [stdout]     |                   other definition for `set_pulse_width`
[INFO] [stdout] ...
[INFO] [stdout] 119 | / opm_hal! {
[INFO] [stdout] 120 | |     TIM1: (Channel1, cc1e, ccmr1_output, oc1m, oc1fe, ccr1, arr),
[INFO] [stdout] 121 | |     TIM1: (Channel2, cc2e, ccmr1_output, oc2m, oc2fe, ccr2, arr),
[INFO] [stdout] 122 | |     TIM1: (Channel3, cc3e, ccmr2_output, oc3m, oc3fe, ccr3, arr),
[INFO] [stdout] ...   |
[INFO] [stdout] 134 | |     TIM17: (Channel1, cc1e, ccmr1_output, oc1m, oc1fe, ccr1, arr),
[INFO] [stdout] 135 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `set_delay`
[INFO] [stdout]    --> src/timer/opm.rs:83:17
[INFO] [stdout]     |
[INFO] [stdout] 83  | /                 pub fn set_delay<T> (&mut self, delay: T)
[INFO] [stdout] 84  | |                 where
[INFO] [stdout] 85  | |                     T: Into<MicroSecond>
[INFO] [stdout] 86  | |                 {
[INFO] [stdout] 87  | |                     self.delay = delay.into();
[INFO] [stdout] 88  | |                     self.setup();
[INFO] [stdout] 89  | |                 }
[INFO] [stdout]     | |                 ^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________duplicate definitions for `set_delay`
[INFO] [stdout]     |                   other definition for `set_delay`
[INFO] [stdout] ...
[INFO] [stdout] 119 | / opm_hal! {
[INFO] [stdout] 120 | |     TIM1: (Channel1, cc1e, ccmr1_output, oc1m, oc1fe, ccr1, arr),
[INFO] [stdout] 121 | |     TIM1: (Channel2, cc2e, ccmr1_output, oc2m, oc2fe, ccr2, arr),
[INFO] [stdout] 122 | |     TIM1: (Channel3, cc3e, ccmr2_output, oc3m, oc3fe, ccr3, arr),
[INFO] [stdout] ...   |
[INFO] [stdout] 134 | |     TIM17: (Channel1, cc1e, ccmr1_output, oc1m, oc1fe, ccr1, arr),
[INFO] [stdout] 135 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `setup`
[INFO] [stdout]    --> src/timer/opm.rs:91:17
[INFO] [stdout]     |
[INFO] [stdout] 91  | /                 fn setup (&mut self) {
[INFO] [stdout] 92  | |                     let period = self.pulse_width + self.delay;
[INFO] [stdout] 93  | |
[INFO] [stdout] 94  | |                     let cycles_per_period = self.clk / period.into();
[INFO] [stdout] ...   |
[INFO] [stdout] 112 | |                     }
[INFO] [stdout] 113 | |                 }
[INFO] [stdout]     | |                 ^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________duplicate definitions for `setup`
[INFO] [stdout]     |                   other definition for `setup`
[INFO] [stdout] ...
[INFO] [stdout] 119 | / opm_hal! {
[INFO] [stdout] 120 | |     TIM1: (Channel1, cc1e, ccmr1_output, oc1m, oc1fe, ccr1, arr),
[INFO] [stdout] 121 | |     TIM1: (Channel2, cc2e, ccmr1_output, oc2m, oc2fe, ccr2, arr),
[INFO] [stdout] 122 | |     TIM1: (Channel3, cc3e, ccmr2_output, oc3m, oc3fe, ccr3, arr),
[INFO] [stdout] ...   |
[INFO] [stdout] 134 | |     TIM17: (Channel1, cc1e, ccmr1_output, oc1m, oc1fe, ccr1, arr),
[INFO] [stdout] 135 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `release`
[INFO] [stdout]    --> src/timer/qei.rs:74:17
[INFO] [stdout]     |
[INFO] [stdout] 74  | /                 pub fn release(self) -> ($TIMX, PINS) {
[INFO] [stdout] 75  | |                     (self.tim, self.pins)
[INFO] [stdout] 76  | |                 }
[INFO] [stdout]     | |                 ^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________duplicate definitions for `release`
[INFO] [stdout]     |                   other definition for `release`
[INFO] [stdout] ...
[INFO] [stdout] 104 | / qei! {
[INFO] [stdout] 105 | |     TIM1: (tim1,  tim1en, tim1rst, apbenr2, apbrstr2, arr, cnt),
[INFO] [stdout] 106 | |     TIM2: (tim2,  tim2en, tim2rst, apbenr1, apbrstr1, arr_l, cnt_l),
[INFO] [stdout] 107 | |     TIM3: (tim3,  tim3en, tim3rst, apbenr1, apbrstr1, arr_l, cnt_l),
[INFO] [stdout] 108 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `set_clock`
[INFO] [stdout]   --> src/timer/stopwatch.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 | /                 pub fn set_clock<T>(&mut self, clk: T)
[INFO] [stdout] 32 | |                 where
[INFO] [stdout] 33 | |                     T: Into<Hertz>,
[INFO] [stdout] 34 | |                 {
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |                     self.clk = clk;
[INFO] [stdout] 38 | |                 }
[INFO] [stdout]    | |                 ^
[INFO] [stdout]    | |                 |
[INFO] [stdout]    | |_________________duplicate definitions for `set_clock`
[INFO] [stdout]    |                   other definition for `set_clock`
[INFO] [stdout] ...
[INFO] [stdout] 91 | / stopwatches! {
[INFO] [stdout] 92 | |     TIM1: (tim1, tim1en, tim1rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 93 | |     TIM2: (tim2, tim2en, tim2rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] 94 | |     TIM3: (tim3, tim3en, tim3rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] ...  |
[INFO] [stdout] 97 | |     TIM17: (tim17, tim17en, tim17rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 98 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `reset`
[INFO] [stdout]   --> src/timer/stopwatch.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 | /                 pub fn reset(&mut self) {
[INFO] [stdout] 41 | |                     self.tim.cnt.reset();
[INFO] [stdout] 42 | |                 }
[INFO] [stdout]    | |                 ^
[INFO] [stdout]    | |                 |
[INFO] [stdout]    | |_________________duplicate definitions for `reset`
[INFO] [stdout]    |                   other definition for `reset`
[INFO] [stdout] ...
[INFO] [stdout] 91 | / stopwatches! {
[INFO] [stdout] 92 | |     TIM1: (tim1, tim1en, tim1rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 93 | |     TIM2: (tim2, tim2en, tim2rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] 94 | |     TIM3: (tim3, tim3en, tim3rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] ...  |
[INFO] [stdout] 97 | |     TIM17: (tim17, tim17en, tim17rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 98 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `pause`
[INFO] [stdout]   --> src/timer/stopwatch.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 | /                 pub fn pause(&mut self) {
[INFO] [stdout] 45 | |                     self.tim.cr1.modify(|_, w| w.cen().clear_bit());
[INFO] [stdout] 46 | |                 }
[INFO] [stdout]    | |                 ^
[INFO] [stdout]    | |                 |
[INFO] [stdout]    | |_________________duplicate definitions for `pause`
[INFO] [stdout]    |                   other definition for `pause`
[INFO] [stdout] ...
[INFO] [stdout] 91 | / stopwatches! {
[INFO] [stdout] 92 | |     TIM1: (tim1, tim1en, tim1rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 93 | |     TIM2: (tim2, tim2en, tim2rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] 94 | |     TIM3: (tim3, tim3en, tim3rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] ...  |
[INFO] [stdout] 97 | |     TIM17: (tim17, tim17en, tim17rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 98 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `resume`
[INFO] [stdout]   --> src/timer/stopwatch.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 | /                 pub fn resume(&mut self) {
[INFO] [stdout] 49 | |                     self.tim.cr1.modify(|_, w| w.cen().set_bit());
[INFO] [stdout] 50 | |                 }
[INFO] [stdout]    | |                 ^
[INFO] [stdout]    | |                 |
[INFO] [stdout]    | |_________________duplicate definitions for `resume`
[INFO] [stdout]    |                   other definition for `resume`
[INFO] [stdout] ...
[INFO] [stdout] 91 | / stopwatches! {
[INFO] [stdout] 92 | |     TIM1: (tim1, tim1en, tim1rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 93 | |     TIM2: (tim2, tim2en, tim2rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] 94 | |     TIM3: (tim3, tim3en, tim3rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] ...  |
[INFO] [stdout] 97 | |     TIM17: (tim17, tim17en, tim17rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 98 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `release`
[INFO] [stdout]   --> src/timer/stopwatch.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 | /                 pub fn release(self) -> $TIM {
[INFO] [stdout] 53 | |                     self.tim
[INFO] [stdout] 54 | |                 }
[INFO] [stdout]    | |                 ^
[INFO] [stdout]    | |                 |
[INFO] [stdout]    | |_________________duplicate definitions for `release`
[INFO] [stdout]    |                   other definition for `release`
[INFO] [stdout] ...
[INFO] [stdout] 91 | / stopwatches! {
[INFO] [stdout] 92 | |     TIM1: (tim1, tim1en, tim1rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 93 | |     TIM2: (tim2, tim2en, tim2rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] 94 | |     TIM3: (tim3, tim3en, tim3rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] ...  |
[INFO] [stdout] 97 | |     TIM17: (tim17, tim17en, tim17rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 98 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `now`
[INFO] [stdout]   --> src/timer/stopwatch.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 | /                 pub fn now(&self) -> Instant {
[INFO] [stdout] 57 | |                     let _high = 0;
[INFO] [stdout] 58 | |                     $(
[INFO] [stdout] 59 | |                         let _high = self.tim.cnt.read().$cnt_h().bits() as u32;
[INFO] [stdout] ...  |
[INFO] [stdout] 62 | |                     Instant(low | (_high << 16))
[INFO] [stdout] 63 | |                 }
[INFO] [stdout]    | |                 ^
[INFO] [stdout]    | |                 |
[INFO] [stdout]    | |_________________duplicate definitions for `now`
[INFO] [stdout]    |                   other definition for `now`
[INFO] [stdout] ...
[INFO] [stdout] 91 | / stopwatches! {
[INFO] [stdout] 92 | |     TIM1: (tim1, tim1en, tim1rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 93 | |     TIM2: (tim2, tim2en, tim2rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] 94 | |     TIM3: (tim3, tim3en, tim3rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] ...  |
[INFO] [stdout] 97 | |     TIM17: (tim17, tim17en, tim17rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 98 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `elapsed`
[INFO] [stdout]   --> src/timer/stopwatch.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 65 | /                 pub fn elapsed(&self, ts: Instant) -> MicroSecond {
[INFO] [stdout] 66 | |                     let now = self.now().0;
[INFO] [stdout] 67 | |                     let cycles = now.wrapping_sub(ts.0);
[INFO] [stdout] 68 | |                     self.clk.duration(cycles)
[INFO] [stdout] 69 | |                 }
[INFO] [stdout]    | |                 ^
[INFO] [stdout]    | |                 |
[INFO] [stdout]    | |_________________duplicate definitions for `elapsed`
[INFO] [stdout]    |                   other definition for `elapsed`
[INFO] [stdout] ...
[INFO] [stdout] 91 | / stopwatches! {
[INFO] [stdout] 92 | |     TIM1: (tim1, tim1en, tim1rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 93 | |     TIM2: (tim2, tim2en, tim2rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] 94 | |     TIM3: (tim3, tim3en, tim3rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] ...  |
[INFO] [stdout] 97 | |     TIM17: (tim17, tim17en, tim17rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 98 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `trace`
[INFO] [stdout]   --> src/timer/stopwatch.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 | /                 pub fn trace<F>(&self, mut closure: F) -> MicroSecond
[INFO] [stdout] 72 | |                 where
[INFO] [stdout] 73 | |                     F: FnMut() -> (),
[INFO] [stdout] 74 | |                 {
[INFO] [stdout] ...  |
[INFO] [stdout] 78 | |                     self.clk.duration(now.wrapping_sub(started))
[INFO] [stdout] 79 | |                 }
[INFO] [stdout]    | |                 ^
[INFO] [stdout]    | |                 |
[INFO] [stdout]    | |_________________duplicate definitions for `trace`
[INFO] [stdout]    |                   other definition for `trace`
[INFO] [stdout] ...
[INFO] [stdout] 91 | / stopwatches! {
[INFO] [stdout] 92 | |     TIM1: (tim1, tim1en, tim1rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 93 | |     TIM2: (tim2, tim2en, tim2rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] 94 | |     TIM3: (tim3, tim3en, tim3rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] ...  |
[INFO] [stdout] 97 | |     TIM17: (tim17, tim17en, tim17rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 98 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `listen`
[INFO] [stdout]    --> src/timer/mod.rs:39:5
[INFO] [stdout]     |
[INFO] [stdout] 39  | /     pub fn listen(&mut self) {
[INFO] [stdout] 40  | |         self.tim.enable_interrupt()
[INFO] [stdout] 41  | |     }
[INFO] [stdout]     | |_____^ duplicate definitions for `listen`
[INFO] [stdout] ...
[INFO] [stdout] 115 | /                 pub fn listen(&mut self) {
[INFO] [stdout] 116 | |                     self.tim.dier.write(|w| w.uie().set_bit());
[INFO] [stdout] 117 | |                 }
[INFO] [stdout]     | |_________________- other definition for `listen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `unlisten`
[INFO] [stdout]    --> src/timer/mod.rs:44:5
[INFO] [stdout]     |
[INFO] [stdout] 44  | /     pub fn unlisten(&mut self) {
[INFO] [stdout] 45  | |         self.tim.disable_interrupt()
[INFO] [stdout] 46  | |     }
[INFO] [stdout]     | |_____^ duplicate definitions for `unlisten`
[INFO] [stdout] ...
[INFO] [stdout] 120 | /                 pub fn unlisten(&mut self) {
[INFO] [stdout] 121 | |                     self.tim.dier.write(|w| w.uie().clear_bit());
[INFO] [stdout] 122 | |                 }
[INFO] [stdout]     | |_________________- other definition for `unlisten`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `get_current`
[INFO] [stdout]    --> src/timer/mod.rs:48:5
[INFO] [stdout]     |
[INFO] [stdout] 48  | /     pub fn get_current(&self) -> u32 {
[INFO] [stdout] 49  | |         SYST::get_current()
[INFO] [stdout] 50  | |     }
[INFO] [stdout]     | |_____^ duplicate definitions for `get_current`
[INFO] [stdout] ...
[INFO] [stdout] 135 | /                 pub fn get_current(&self) -> u32 {
[INFO] [stdout] 136 | |                     let _high = 0;
[INFO] [stdout] 137 | |                     $(
[INFO] [stdout] 138 | |                         let _high = self.tim.cnt.read().$cnt_h().bits() as u32;
[INFO] [stdout] ...   |
[INFO] [stdout] 141 | |                     low | (_high << 16)
[INFO] [stdout] 142 | |                 }
[INFO] [stdout]     | |_________________- other definition for `get_current`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `pause`
[INFO] [stdout]    --> src/timer/mod.rs:105:17
[INFO] [stdout]     |
[INFO] [stdout] 105 | /                 pub fn pause(&mut self) {
[INFO] [stdout] 106 | |                     self.tim.cr1.modify(|_, w| w.cen().clear_bit());
[INFO] [stdout] 107 | |                 }
[INFO] [stdout]     | |                 ^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________duplicate definitions for `pause`
[INFO] [stdout]     |                   other definition for `pause`
[INFO] [stdout] ...
[INFO] [stdout] 193 | / timers! {
[INFO] [stdout] 194 | |     TIM1: (tim1, tim1en, tim1rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 195 | |     TIM2: (tim2, tim2en, tim2rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] 196 | |     TIM3: (tim3, tim3en, tim3rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] ...   |
[INFO] [stdout] 199 | |     TIM17: (tim17, tim17en, tim17rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 200 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `resume`
[INFO] [stdout]    --> src/timer/mod.rs:110:17
[INFO] [stdout]     |
[INFO] [stdout] 110 | /                 pub fn resume(&mut self) {
[INFO] [stdout] 111 | |                     self.tim.cr1.modify(|_, w| w.cen().set_bit());
[INFO] [stdout] 112 | |                 }
[INFO] [stdout]     | |                 ^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________duplicate definitions for `resume`
[INFO] [stdout]     |                   other definition for `resume`
[INFO] [stdout] ...
[INFO] [stdout] 193 | / timers! {
[INFO] [stdout] 194 | |     TIM1: (tim1, tim1en, tim1rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 195 | |     TIM2: (tim2, tim2en, tim2rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] 196 | |     TIM3: (tim3, tim3en, tim3rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] ...   |
[INFO] [stdout] 199 | |     TIM17: (tim17, tim17en, tim17rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 200 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `listen`
[INFO] [stdout]    --> src/timer/mod.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 | /                 pub fn listen(&mut self) {
[INFO] [stdout] 116 | |                     self.tim.dier.write(|w| w.uie().set_bit());
[INFO] [stdout] 117 | |                 }
[INFO] [stdout]     | |                 ^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________duplicate definitions for `listen`
[INFO] [stdout]     |                   other definition for `listen`
[INFO] [stdout] ...
[INFO] [stdout] 193 | / timers! {
[INFO] [stdout] 194 | |     TIM1: (tim1, tim1en, tim1rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 195 | |     TIM2: (tim2, tim2en, tim2rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] 196 | |     TIM3: (tim3, tim3en, tim3rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] ...   |
[INFO] [stdout] 199 | |     TIM17: (tim17, tim17en, tim17rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 200 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `unlisten`
[INFO] [stdout]    --> src/timer/mod.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 | /                 pub fn unlisten(&mut self) {
[INFO] [stdout] 121 | |                     self.tim.dier.write(|w| w.uie().clear_bit());
[INFO] [stdout] 122 | |                 }
[INFO] [stdout]     | |                 ^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________duplicate definitions for `unlisten`
[INFO] [stdout]     |                   other definition for `unlisten`
[INFO] [stdout] ...
[INFO] [stdout] 193 | / timers! {
[INFO] [stdout] 194 | |     TIM1: (tim1, tim1en, tim1rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 195 | |     TIM2: (tim2, tim2en, tim2rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] 196 | |     TIM3: (tim3, tim3en, tim3rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] ...   |
[INFO] [stdout] 199 | |     TIM17: (tim17, tim17en, tim17rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 200 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `clear_irq`
[INFO] [stdout]    --> src/timer/mod.rs:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 | /                 pub fn clear_irq(&mut self) {
[INFO] [stdout] 126 | |                     self.tim.sr.modify(|_, w| w.uif().clear_bit());
[INFO] [stdout] 127 | |                 }
[INFO] [stdout]     | |                 ^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________duplicate definitions for `clear_irq`
[INFO] [stdout]     |                   other definition for `clear_irq`
[INFO] [stdout] ...
[INFO] [stdout] 193 | / timers! {
[INFO] [stdout] 194 | |     TIM1: (tim1, tim1en, tim1rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 195 | |     TIM2: (tim2, tim2en, tim2rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] 196 | |     TIM3: (tim3, tim3en, tim3rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] ...   |
[INFO] [stdout] 199 | |     TIM17: (tim17, tim17en, tim17rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 200 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `reset`
[INFO] [stdout]    --> src/timer/mod.rs:130:17
[INFO] [stdout]     |
[INFO] [stdout] 130 | /                 pub fn reset(&mut self) {
[INFO] [stdout] 131 | |                     self.tim.cnt.reset();
[INFO] [stdout] 132 | |                 }
[INFO] [stdout]     | |                 ^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________duplicate definitions for `reset`
[INFO] [stdout]     |                   other definition for `reset`
[INFO] [stdout] ...
[INFO] [stdout] 193 | / timers! {
[INFO] [stdout] 194 | |     TIM1: (tim1, tim1en, tim1rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 195 | |     TIM2: (tim2, tim2en, tim2rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] 196 | |     TIM3: (tim3, tim3en, tim3rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] ...   |
[INFO] [stdout] 199 | |     TIM17: (tim17, tim17en, tim17rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 200 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `get_current`
[INFO] [stdout]    --> src/timer/mod.rs:135:17
[INFO] [stdout]     |
[INFO] [stdout] 135 | /                 pub fn get_current(&self) -> u32 {
[INFO] [stdout] 136 | |                     let _high = 0;
[INFO] [stdout] 137 | |                     $(
[INFO] [stdout] 138 | |                         let _high = self.tim.cnt.read().$cnt_h().bits() as u32;
[INFO] [stdout] ...   |
[INFO] [stdout] 141 | |                     low | (_high << 16)
[INFO] [stdout] 142 | |                 }
[INFO] [stdout]     | |                 ^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________duplicate definitions for `get_current`
[INFO] [stdout]     |                   other definition for `get_current`
[INFO] [stdout] ...
[INFO] [stdout] 193 | / timers! {
[INFO] [stdout] 194 | |     TIM1: (tim1, tim1en, tim1rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 195 | |     TIM2: (tim2, tim2en, tim2rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] 196 | |     TIM3: (tim3, tim3en, tim3rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] ...   |
[INFO] [stdout] 199 | |     TIM17: (tim17, tim17en, tim17rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 200 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `release`
[INFO] [stdout]    --> src/timer/mod.rs:145:17
[INFO] [stdout]     |
[INFO] [stdout] 145 | /                 pub fn release(self) -> $TIM {
[INFO] [stdout] 146 | |                     self.tim
[INFO] [stdout] 147 | |                 }
[INFO] [stdout]     | |                 ^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________duplicate definitions for `release`
[INFO] [stdout]     |                   other definition for `release`
[INFO] [stdout] ...
[INFO] [stdout] 193 | / timers! {
[INFO] [stdout] 194 | |     TIM1: (tim1, tim1en, tim1rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 195 | |     TIM2: (tim2, tim2en, tim2rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] 196 | |     TIM3: (tim3, tim3en, tim3rst, apbenr1, apbrstr1, cnt_l, cnt_h),
[INFO] [stdout] ...   |
[INFO] [stdout] 199 | |     TIM17: (tim17, tim17en, tim17rst, apbenr2, apbrstr2, cnt),
[INFO] [stdout] 200 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `release`
[INFO] [stdout]    --> src/spi.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 179 | /             pub fn release(self) -> ($SPIX, PINS) {
[INFO] [stdout] 180 | |                 (self.spi, self.pins)
[INFO] [stdout] 181 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________duplicate definitions for `release`
[INFO] [stdout]     |               other definition for `release`
[INFO] [stdout] ...
[INFO] [stdout] 242 | / spi!(
[INFO] [stdout] 243 | |     SPI1,
[INFO] [stdout] 244 | |     spi1,
[INFO] [stdout] 245 | |     apbenr2,
[INFO] [stdout] ...   |
[INFO] [stdout] 267 | |     ],
[INFO] [stdout] 268 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 218 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0425, E0432, E0433, E0592.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stm32g0xx-hal`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "ce2955f7b6a89c1cd89da07d28e0b5e51d5fa7e50ed2fef9c88b1cafdd1cec5b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ce2955f7b6a89c1cd89da07d28e0b5e51d5fa7e50ed2fef9c88b1cafdd1cec5b", kill_on_drop: false }`
[INFO] [stdout] ce2955f7b6a89c1cd89da07d28e0b5e51d5fa7e50ed2fef9c88b1cafdd1cec5b
